package com.chengke.novel.common.serializable;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;

import java.io.IOException;

/**
 * 用户名序列化器（敏感信息，不应该在页面上完全显示）
 * @Author CK
 * @Date 2023/3/18
 */
public class UsernameSerializer extends JsonSerializer<String> {

    @Override
    public void serialize(String s, JsonGenerator jsonGenerator,
        SerializerProvider serializerProvider) throws IOException {
        // 截取用户名的前4个字符和后4个字符，中间使用 "****" 代替，调用JsonGenerator的writeString方法将脱敏后的用户名输出为JSON字符串。
        jsonGenerator.writeString(s.substring(0, 4) + "****" + s.substring(8));
    }

}
